Neurosis Engine - Revisions
________________________________________________________________________________
v1.42 (January 15th, 2012)
- Added showDateTime parameter to Log_Append().
- Removed engineLogInitialText parameter from CNeurosisWindow().
- Added Retrieve_Neurosis_Version().
________________________________________________________________________________
v1.41 (April 23rd, 2011)
- Cleaned up memory leaks in CNeurosisPakFile.
- Added CNeurosisWindow::Set_Window_Title() and CNeurosisAudio::Is_Initialized().
- Set_Time_Step() to allow hardcoding of FPS.
- Fixed a random loading issue with CNeurosisPakFile.
- Added mesh check to Render() and Render_Batch().
- Updated Screenshot_Capture() and Video_Capture().
- Added Set_Time_Step() to allow hardcoding of FPS.
- Refactored "object" naming back to "model" (reverted from v1.40).
- Made mInterval private - use Get_Time_Step().
- Need to have CNeurosis initialized before using CNeurosisController / CNeurosisObject.
v1.40 (November 5th, 2010)
- Separated into modules / refactored classes.
- Removed requirement to create CNeurosisTiming or CNeurosisWindow global variables.
- Added Get/Set_Previous_Texture() and Get_Total_Textures().
- Moved Render_Quad() and Render_Triangle() to CNeurosisWindow class.
- Removed windows.h dependency.
- Updated CNeurosisIO::Retrieve_Data_TXT() to parse " = " for assignment.
- Token check in Retrieve_Data_TXT() and Retrieve_String_Position() changed to not be case sensitive.
- Improved 2D collision logic.
- Added base64 class (CNeurosisBase64).
- Removed basic logging option (basicEngineLogging) added in previous revision.
- Updated CNeurosisPakFile::Create() so that checkModifiedDate option actually does something.
- Renamed CModel class to CNeurosisObject and IO_Class to CNeurosisIO.
- Prefixed classes with Neurosis (i.e. CWindow -> CNeurosisWindow).
v1.38 (June 4th, 2010)
- CModel::File_Load() doesn't return false if a texture not found - applicable triangles set to no texture.
- Text alignment / scaling fixed in Font_List_Print (using screen ratio).
- Added == and != operators to CPoints and CTriangles.
- CModel::Render() now checks transparency for non-textured triangles.
- Changed CModel transparency from per object to per triangle.
- Changed some variables in CModel class to private variables and added appropriate get/set functions.
- Added Retrieve_Windows_version().
- Renamed Get_...() functions in neurosis.h/cpp to Calculate_...().
- Basic logging option added to CWindow for reducing logs (i.e. when loading).
- Changed order of file loading when using PAK files (does not use existing file as default).
- Time part of Log_Append() info now displayed in color requested.
- Improved error checking for IO_Class::Retrieve_Data_URL() and Texture_Get_...().
- Added checkModifiedDate option to CPakFile::Create().
v1.37 (January 28th, 2010)
- Improved error checking for CAudio.
- Successful log info now in black color font (instead of green).
- Added Create_Dummy_File().
- Added float2 and int2.
- Added Add_Quad() and Add_Triangle() to CModel to help convert to models.
- Updated font texture use to use alpha channel.
- Removed transparency and mass parameters from CModel::File_Load().
- Alpha channel are now loaded / used properly.
- Refactored Render_Untextured and Render_Textured() into Render().
- Registry_Add() renamed to Registry_Store().
v1.36 (October 27th, 2009)
- Removed static build libraries (odbc32.lib, odbccp32.lib, vfw32.lib, wininet.lib).
- Added Retrieve_File_Time_Modify() and Retrieve_Folder_Time_Create().
- Retrieve_File_Time() renamed to Retrieve_File_Time_Create().
- Retrieve_Position() renamed to Retrieve_String_Position().
- Retrive_Data_URL now returns CString instead of passing char pointer.
- Added newFile parameter to Log_Initialize() to allow appending to logs.
- Improved font texture use (regarding alpha).
- Retrieve_Data_String() extended to Retrieve_Data_TXT() / Retrieve_Data_INI().
- Camera_Class was renamed to CCamera.
- Modified Render_Triangle() - order is now (bl, tr, tl) instead of (tl, tr, bl).
- Modified Render_Quad() - order is now (bl, br, tr, tl) instead of (tl, tr, br, bl).
- Removed specific .tga and .bmp loading code (use .png instead of .tga).
- Now uses GDI+ for texture loading.
- Modified networking code.
v1.35 (July 29th, 2005)
- Object collisions handled a bit better.
- Fixed a few pause / play / stop problems with audio.
- Added registry related functions (store / retrieve / delete).
- Window handle (hWnd) and program instance (hInstance) is now public through CWindow.
- Untextured rendering now correctly checks transparency.
- Separated a few math functions from float3 class (ie. dot / cross product).
- Removed CLinkedList (previously used for memory management which was removed).
- Removed Update_Positions() - basically [model.Move(model.mVector * timing.mInterval)].
- Fonts changed (Font_List_... - Font_... functions are depreciated).
- Font_Begin now allows choice of texture to use with font.
- Fixed memory issues / leaks with texture loading.
- Removed memory logging code.
- Adjusted function / variable names to be more consistant.
- Added Log_Error() for adding GetLastError() messages to log.
- Increased Log_Append() buffer to 2048 bytes.
- Added networking code.
- Video card memory gets freed correctly when Texture_Remove_xxx() is called.
- Fixed up alpha (renamed mTransparency) issue for Render_xxx().
- Desktop and application screenshot combined in Capture_Screenshot().
- Fixed a few problems with audio class.
- Added centerWindow option to GL_Create_Window().
- Font_String() now includes centerText argument.
- Moved Combined _Font_Print() into Font_String().
- Window class now has mMinimized, and mActive now correctly indicates if window is active.
- Mouse controller coordinates also reflect current window (not desktop area as before).
- Added option to not allow window to be resized / maximized.
- Added CWindow::Mouse_Coordinates().
- Angle_Inside() now works as it should.
v1.30 (July 26th, 2004)
- Texture_Load() now makes sure textures are available instead of just crashing.
- Object3_Class was changed to CModel.
- Fixed some rotation errors when length was 0.
- Removed Get_Rotation_x() and Get_Rotation_z() from float3 class.
- Font_Time() removed.
- Changed logging format (.txt to .dat which uses .rtf coding).
- Reorganized and renamed functions and variables.
- Removed shadow box stuff in favor of hardware lighting.
- Font is also set at bottom left of first letter rather than top left.
- Font_Begin() now sets perspective to 1 with bottom left (0,0) and top right (100,100).
- Moved mouse input to main controller class.
- Removed menu stuff.
- Redefined a few variables.
- Modified memory and system logging.
- Removed log class and moved code into io.h.
- Fixed pointer problem when loading a new texture in a previously held index.
- Removed float2 - transfered to float3 without using z component.
- Added float3 operators.
- Added == and = color3 operators.
- Added Calculate_Radius for objects which is automatically called by Model_Load().
v1.27 (August 20th, 2003)
- Modified the functions dealing with rotation.
- Moving object now correctly modifies position information.
- Reorganized how things are named ... ie. m_xxx for class variables.
- Font_Time() restricted to hour:min:sec.
- Font_String() doesn't return anything anymore.
- Font masking taken out.
- Modified polygon rendering a bit.
- Texture loading converted to IPicture.
- Fixed up logging.
- Made engine more high-level function wise with access to low-level variables.
- Moved some lower-level functions to Doodles 3D.
- Rewrote the object_class so names / functions will be different.
- Turned linked_lists class into CLinkedList using templates.
v1.25 (June 15th, 2003)
- Reorganized and removed some non-essential functions (ie. fade).
- Added Divx video recording.
- Added Clamp function.
- Can now save screen / desktop to file.
- Added looping to music.
- Cleaned up audio functions.
- Configuration stuff added to logging system.
- Added a bunch of additional sound calls.
- Automatic center / normal calculations when loading / rotating / moving model.
- Changed collision code again.
- Added == and != float3 operators.
- Modified some naming conventions.
- Fixed problem with setting choice access.
- Fixed menu error when changing choice with no choices available.
- Made memory code quicker when not logging.
- Drawing objects now include normals for lighting.
- Changed most of the private functions / variables to begin with _.
- Fixed memory leak in texture class.
- Renamed Linked_Lists_..._Class to Linked_List_..._Class.
- Rewrote the memory handling code.
- Rewrote most of the menu code.
- Modified the way the mouse handles when windowed.
v1.21 (March 21st, 2003)
- Rewrote linked list class.
- Removed Move(float x, float y, float z) in favor of Move(float3 *vector).
- Added Tri_Color() and now Quad_Color() does not disable texturing.
- Changed anything with name last to previous to maintain code similarity.
- Update_Camera() now does not need timing passed.
- Took out zoom values for camera (use .z).
- Added Move(x, y, z) to polygon class.
- Rebuilt collision functions (Now should be fully 3d).
- Rebuilt most vector (float3) functions.
- Moved vector class into float3 class.
v1.20 (November 17th, 2002)
- Added Texture_Remove(index), and Texture_Remove_All().
- Renamed texture functions.
- Added Update_Object(*Object3) to Movement_Class.
- Renamed Movement_Class Update() to Update_Position().
- Movement vectors are now private with all changes done to speed / direction.
- Fixed some issues with movement variables.
- Added some basic logging for main functions.
- Reload_Textures() added to be used after changing resolution.
- Model now contains mesh values for each polygon (current model version 0.5).
- Set_Mesh() renamed to Polygon_Set_Mesh(), and added Polygon_Add_Mesh().
- Fixed up engine according to how textures are now polygon variable rather than object.
- Load_Texture() now has 2 versions.
- Rebuilt texture loading and management.
- Added separate textures in a single model (current model version 0.4).
- Checks texture per triangle again - models can now have more than 1 texture.
- Added Get_Distance_XY() for 2D calculations excluding Z value.
- Change...Direction() / Length() -> Set...Direction_2D() / Length() in vector class.
- Added polygon texture percent in Model_Save() and Model_Load() (current model version 0.3).
- Fixed error in Model_Load().
- Draw() and Color() now can do that for one polygon - (int index).
- Removed Draw_Lines().
- Renamed a few more functions so Point_...() and Polygon_...() begin function name.
- Removed Draw_Points().
- Rewrote the Collision...() functions to collide with polygons.
- Added Get_Texture_Position().
- Added Angle_Inside().
- Renamed Fix_Angle() to Angle_Fix().
- Removed Collision_Through_2D().
- Renamed Polygon_Set_Points(), and Point_Set_Position().
v1.15 (September 17th, 2002)
- Point_Delete() now removes associated polygons.
- Model files now have version numbers (current model version 0.2).
- .tri was renamed to .polygons.
- Rewrote Point_Delete(), and Polygon_Delete().
- Modified Set_Size() to Set_Size_Polygon() and added Set_Size_Points().
- Added Save_Model().
- Added Polygon_...() and Point_...() functions to polygon class.
- Removed Sphere_Collision_2D() - use Sphere_Collision_Calculate().
- Renamed New_Length_2D() to Scale_Length().
- Added / Removed some point specific functions.
- Added Draw_Lines() and Draw_Points().
- Rewrote most of the polygon functions because of change below.
- Functions based on points rather than polygons (+10-30 FPS).
- Polygons based on array of points.
- Now Draw() makes sure object size is greater than 0.
- Added mmsystem.h to neurosis.h.
- Removed Get_Center().
- Fixed the collision algorithm. Vectors were calculated for one object.
v1.12 (August 15th, 2002)
- Made a vector class and added vector additional functions.
- Added proper sphere collision algorithms.
- Cleaned up vector code.
- Fixed an error in Get_Distance().
- Camera update now includes updating position.
- Took out Cull Testing so older stuff doesn't screw up.
- Added Collision_Through_2D() to collide.h (from hockey game).
v1.11 (August 2nd, 2002)
- Fixed up a bunch of naming conventions (_2D).
- Changed the quad stuff to draw counter-clockwise.
- Added ' " ! to font table.
- Makes sure Set_Size in polygon class checks for size <= 0.
- Added Get_Texture_Image() to polygon class.
- Oct_Tree now copies over the alpha and mesh values.
v1.10 (July 23rd, 2002)
- Set_Size() now catches smaller new size.
- All functions now use memory manager to get / change memory.
- Change_Size() renamed to Set_Size() and now copies the info properly.
- Added Oct-Tree type thing that moves triangles according to bounds.
- Texture binding now checks last bound texture (+3-5 FPS).
- Removed rotate stuff for object4 class.
- List count is accessed by Get_List() and Set_List().
- Cleaned up input classes - changed to mouse and controller.
- Keyboard keys can now be mapped.
- Changed input classes.
- Cleaned up memory leaks.
- Made rotate for objects faster.
- Font and windows stuff now in window class.
- Rebuilt texture pathway.
- Fixed up camera code and put that into camera class.
- Moved most of the controller stuff to input class.
- Moved timing stuff to input class.
- Fonts now print way faster.
- Rewrote how font is shown (320,-320 left / right, 240,-240 top / down).
- Timing should now work on older computers.
v1.00 (June 25th, 2002)
- Initial release.
________________________________________________________________________________